﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace AcctrueWMS.Foundation.DAL
{
    public interface IDBOperator
    {
        /// <summary>
        /// 功能：保存数据
        /// </summary>
        /// <param name="TableModels">收集有数据的table 集合</param>
        /// <param name="Mode">数据模型名称</param>
        /// <returns>执行后的结果，如果保存成功则返回 主键值，保存失败就返回 false</returns>
        string SaveTables(TableModel[] TableModels, string Mode);

        /// <summary>
        /// 功能： 获取数据库时间
        /// </summary>
        /// <returns></returns>
        DateTime GetDBDateTime();

        /// <summary>
        ///功能： 查询出数据库中所有定义的表
        /// </summary>
        /// <param name="condition">查询条件</param>
        /// <returns>返回查询的结果集</returns>
        DataTable GetAllTables(string condition);


        /// <summary>
        /// 功能：获取指定表的所有列信息
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <returns>查询结果集</returns>
        DataTable GetColumnsInfo(string tableName);

        /// <summary>
        /// 功能：根据表及列生成自动增长的序列号
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="colTag">列名</param>
        /// <returns>返回生成的序列号</returns>
        int GetSequenceNo(string tableName, string colTag);


        /// <summary>
        /// 功能： 事物执行对象
        /// </summary>
        /// <param name="cmdText">执行的sql脚本</param>
        /// <returns>返回影响的行</returns>
        int ExecuteTran(string cmdText);

    }

}
